# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=dropbear
pkgver=2022.82
pkgrel=0
pkgdesc="small SSH 2 client/server designed for small memory environments"
url="https://matt.ucc.asn.au/dropbear/dropbear.html"
arch="all"
license="MIT"
options="!check"
makedepends="zlib-dev linux-headers utmps-dev utmps-static"
subpackages="$pkgname-doc
	$pkgname-openrc
	$pkgname-convert:_convert
	$pkgname-dbclient:_dbclient
	$pkgname-ssh:_ssh:noarch
	$pkgname-scp:_scp"
source="https://matt.ucc.asn.au/dropbear/releases/dropbear-$pkgver.tar.bz2
	dropbear.initd
	dropbear.confd
	dropbear-options_sftp-server_path.patch
	"

# secfixes:
#   2020.79-r0:
#     - CVE-2018-20685
#   2018.76-r2:
#     - CVE-2018-15599

_progs="dropbear dropbearkey dbclient dropbearconvert scp"

build() {
	CFLAGS="$CFLAGS $(pkg-config --cflags --static utmps)" \
	LDLIBS="$LDLIBS $(pkg-config --libs --static utmps)" \
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		--localstatedir=/var \
		--disable-wtmp \
		--disable-lastlog
	make PROGRAMS="$_progs"
}

package() {
	make PROGRAMS="$_progs" DESTDIR="$pkgdir" install

	install -D -m755 "$srcdir"/dropbear.initd \
		"$pkgdir"/etc/init.d/dropbear
	install -D -m644 "$srcdir"/dropbear.confd \
		"$pkgdir"/etc/conf.d/dropbear
}

_convert() {
	pkgdesc="$pkgname dropbearconvert command"
	depends=""
	mkdir -p "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/bin/dropbearconvert "$subpkgdir"/usr/bin/
}

_dbclient() {
	pkgdesc="$pkgname dbclient command"
	depends=""
	mkdir -p "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/bin/dbclient "$subpkgdir"/usr/bin/
}

_scp() {
	pkgdesc="$pkgname scp support"
	depends="!openssh-client"
	mkdir -p "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/bin/scp "$subpkgdir"/usr/bin/
}

_ssh() {
	pkgdesc="$pkgname ssh command (compatibility symlink for dbclient)"
	depends="dropbear-dbclient !openssh-client"
	mkdir -p "$subpkgdir"/usr/bin
	ln -s /usr/bin/dbclient "$subpkgdir"/usr/bin/ssh
}

sha512sums="
94c664e0d56bce3750b04aff166bf073f778dc2aa08e093541b520db1f165d4173e1cf25eef69a59b0a5a0a63cfb3ce8bbf94d6c4010687a0233ba1ad8ea403b  dropbear-2022.82.tar.bz2
9c55ab3d8b61955cde1ccc1b8acbd3d2ef123feb9489e92737304c35315d07b7f85fad8a12ac7b0ec2c1dcee3d76b8bc4aa18518f4ddd963917805db33e48826  dropbear.initd
83f2c1eaf7687917a4b2bae7d599d4378c4bd64f9126ba42fc5d235f2b3c9a474d1b3168d70ed64bb4101cc251d30bc9ae20604da9b5d819fcd635ee4d0ebb0f  dropbear.confd
df3fa2c64665b669257ec511afa2e04107eb6b0a2a4238ad9b33db3d322b90854b00506e14a09b648fe2d716dc6c140212cc1739f7cd03088f9b7b9781aaa499  dropbear-options_sftp-server_path.patch
"
